package com.stone.design.mode.state;

/**
 * 门敞开状态
 *
 * @author Mr_wenpan@163.com 2022/01/13 22:42
 */
public class OpeningState extends LiftState {

    @Override
    public void open() {
        System.out.println("电梯门开启动作....");
    }

    /**
     * 电梯门开启状态下当然可以执行关闭动作了
     */
    @Override
    public void close() {
        // 修改状态
        super.context.setLiftState(Context.CLOSING_STATE);
        // 动作委托给closingState来执行
        super.context.getLiftState().close();
    }

    @Override
    public void run() {
        // do nothing
    }

    @Override
    public void stop() {
        // do nothing
    }
}
